Flutter TextureLayer
TextureLayer
是一个在Flutter中用于处理后端纹理映射的复合图层。
后端纹理是可以应用(映射)到Flutter视图区域的图像。它们通过一个特定平台的纹理注册表来创建、管理和更新。这通常由一个插件完成,该插件集成了主机平台的视频播放器、相机、OpenGL API或类似的图像源。
TextureLayer
使用整数ID来引用其后端纹理。纹理ID从纹理注册表中获取,并且在Flutter视图中有作用域。纹理ID可能在注销后被重用,这取决于注册表的决定。当前对注册表未知的纹理ID的使用将静默地导致一个空白矩形。
一旦插入到图层树中,纹理图层将根据后端(例如,视频帧的到达)自主地重新绘制。这样的重绘通常不涉及执行Dart代码。
TextureLayer
在图层树中总是叶子节点。
TextureLayer
的构造函数需要以下参数:
rect
:这是一个Rect
对象,表示此图层的边界矩形。textureId
:这是一个整数,表示后端纹理的标识。freeze
:这是一个布尔值,当其为true时,纹理将不会用新的帧进行更新。这用于调整嵌入的Android视图的大小:在调整大小时,有一个短暂的期间,框架无法确定最新的纹理帧是具有前一个大小还是新的大小,为了解决这个问题,框架在调整Android视图的大小之前“冻结”纹理,并在确定准备好新大小的帧时解冻它。filterQuality
:这是一个ui.FilterQuality
对象,用于设置图层的过滤质量。
addToScene
方法将TextureLayer
添加到场景中,而findAnnotations
方法用于查找注解,但在TextureLayer
中总是返回false
,因为TextureLayer
不支持注解。
本文作者:Maeiee
本文链接:Flutter TextureLayer
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!